There is a flash memory as a kind of writable and erasable nonvolatile semiconductor memory device. In the flash memory, writing of information is performed by injecting electrons in a charge storage layer through the use of a quantum tunneling effect. Electron injection is performed by causing a potential difference between a control gate and a channel of a transistor constituting a memory cell.
Methods for recording information includes a method for recording one-bit information using a binary of “Hi” or “Low” according to a stored amount of electrons in the charge storage layer of one memory cell, i.e., according to distribution of threshold values depending on an amount of charge. In addition to that, there is also included a method for recording two-bit information using, for example, a quaternary by finely separating distribution of threshold values caused depending on an amount of charge of a floating gate.
Methods for giving a threshold value of a quaternary to a memory cell transistor with high accuracy include a step-up writing method. This method is a method for writing data while increasing a write potential at a constant rate. In the method, it is determined whether or not additional writing is needed for each writing, or whether or not writing has been completed so that a threshold potential does not increase too much.